A touch-sensitive apparatus

ABSTRACT

A touch sensing apparatus is disclosed comprising a touch surface, and a touch sensor configured to determine a first set of coordinates on the touch surface of an object in contact with the touch surface. The touch sensing apparatus is configured to determine a virtual brush angle associated with the object, determine a movement of the object to a second set of coordinates determine an updated virtual brush angle for the object in dependence on a position of the second set of coordinates relative to the first set of coordinates, and output the second set of coordinates and the updated virtual brush angle. An associated method is also disclosed.

TECHNICAL FIELD

The present invention relates generally to the field of touch-basedinteraction systems. More particularly, the present invention relates totechniques of modelling touch response of an object such as a paintbrush in a touch-sensing apparatus.

BACKGROUND

In various touch-based systems it is desirable to achieve a realisticresponse not only for various styluses having defined dimensions butalso for more complex touch input objects such as common paint brusheswith flexible straws. The flexibility of a straws translates into acomplex dynamic of the brush when interacting with a surface, dependingon various factors such as the directionality of the brush, the amountof pressure applied and the friction of the surface. A user may takeadvantage of this complexity to produce artistic results, such as inChinese calligraphy, so far at least on traditional canvases of paper.Attempts to produce a realistic calligraphy experience in previoustouch-based input systems are associated with insufficient accuracy anddynamics of the touch input from a brush. It is thus desirable toimprove these factors so that the user is not held back artistically.Previous techniques may also rely on active input devices, e.g. brusheshaving sensors throughout the volume of the brush straws. This increasesthe complexity and limits the user's choices of brushes. This mayaccordingly hinder the development towards more feasible but highlycustomizable and intuitive touch systems.

Hence, an improved touch-sensitive apparatus and techniques of modellingtouch response of an object such as a paint brush in a touch systemwould be advantageous.

It is an objective of the invention to at least partly overcome one ormore of the above-identified limitations of the prior art.

One objective is to provide a touch sensitive apparatus in which themodelling of the dynamic behavior of a paint brush is improved.

Another objective is to provide a touch sensitive apparatus in which arealistic calligraphy experience can be provided.

One or more of these objectives, and other objectives that may appearfrom the description below, are at least partly achieved by means of atouch sensitive apparatus, system and a related method according to theindependent claims, embodiments thereof being defined by the dependentclaims. According to a first aspect a touch sensing apparatus isprovided comprising a touch surface, and a touch sensor configured todetermine a first set of coordinates on the touch surface of an objectin contact with the touch surface. The touch sensing apparatus isconfigured to determine a virtual brush angle associated with theobject, determine a movement of the object to a second set ofcoordinates determine an updated virtual brush angle for the object independence on a position of the second set of coordinates relative tothe first set of coordinates, and output the second set of coordinatesand the updated virtual brush angle. An associated method is alsodisclosed.

According to a second aspect a method of modelling touch output of anobject in a touch sensing apparatus comprising a touch surface isprovided. The method comprises determining a first set of coordinates onthe touch surface of the object in contact with the touch surface,determining a virtual brush angle associated with the object,determining a movement of the object to a second set of coordinates,determining an updated virtual brush angle for the object in dependenceon a position of the second set of coordinates relative to the first setof coordinates, and outputting the second set of coordinates and theupdated virtual brush angle.

According to a third aspect a computer program product is providedcomprising instructions which, when the program is executed by acomputer, cause the computer to carry out the steps of the methodaccording to the second aspect.

Further examples of the invention are defined in the dependent claims,wherein features for the second and subsequent aspects of the disclosureare as for the first aspect mutatis mutandis.

Some examples of the disclosure provide for a touch sensitive apparatusin which the modelling of the dynamic behavior of a paint brush isimproved.

Some examples of the disclosure provide for a touch sensitive apparatusin which a realistic calligraphy experience can be provided.

Some examples of the disclosure provide for improving the touch inputfrom a passive brush.

Some examples of the disclosure provide for more accurately determinethe directionality of a brush.

Some examples of the disclosure provide for producing a more accuratebrush-like shape.

It should be emphasized that the term “comprises/comprising” when usedin this specification is taken to specify the presence of statedfeatures, integers, steps or components but does not preclude thepresence or addition of one or more other features, integers, steps,components or groups thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects, features and advantages of which examples ofthe invention are capable of will be apparent and elucidated from thefollowing description of examples of the present invention, referencebeing made to the accompanying schematic drawings, in which; FIG. 1ashow a touch sensitive apparatus with a brush as an input device, in aschematic perspective view, according to examples of the disclosure;

FIG. 1b show a brush applied with an increasing amount of pressure to atouch surface of a touch sensitive apparatus, in a schematic side view,according to examples of the disclosure;

FIG. 2 show a brush moving between two sets of coordinates on a touchsurface of a touch sensitive apparatus and associated virtualrepresentations of the brush with different virtual brush angles,according to examples of the disclosure;

FIGS. 3a-b show the directions of the virtual brush angle and a currentangle in which the brush moves, and associated output of an updatedvirtual brush angle, according to examples of the disclosure;

FIG. 4a show a brush moving between two sets of coordinates on a touchsurface of a touch sensitive apparatus and associated virtualrepresentations of the brush with different virtual brush angles,according to examples of the disclosure;

FIG. 4b show a brush moving between two sets of coordinates on a touchsurface of a touch sensitive apparatus and associated virtualrepresentations of the brush with different virtual brush angles,according to examples of the disclosure;

FIG. 5 show the directions of an entry angle of the brush relative acurrent angle in which the brush moves, and associated maximum andminimum angle compensations values to update the virtual brush angle ofthe brush, according to examples of the disclosure;

FIG. 6a show a gradual increase in the pressure by which a brush ispressed against a touch surface and the associated increase incross-section of the part of the brush in contact with the touchsurface, and a velocity vector determined according to examples of thedisclosure;

FIG. 6b show the variation in pressure over time as the brush is pressedagainst the touch surface, proportional to the size of cross-sectiondetermined in FIG. 6a , according to examples of the disclosure;

FIG. 7a show the schematic modelling of a brush as an elliptic shape,according to examples of the disclosure;

FIG. 7b schematically shows the modelling of a portion of the brush incontact with the touch surface as a polygon model, according to examplesof the disclosure;

FIG. 7c schematically shows the modelling of a brush stroke of the brushon the touch surface as a polygon model, according to examples of thedisclosure;

FIG. 8 show a gradual increase in the size of a modelled portion of thebrush in contact with the touch surface with increased pressure,according to examples of the disclosure; and

FIG. 9 is a flowchart of a method of modelling touch output of an objectin a touch sensing apparatus, according to examples of the disclosure.

DETAILED DESCRIPTION

Specific examples of the invention will now be described with referenceto the accompanying drawings. This invention may, however, be embodiedin many different forms and should not be construed as limited to theexamples set forth herein; rather, these examples are provided so thatthis disclosure will be thorough and complete, and will fully convey thescope of the invention to those skilled in the art. The terminology usedin the detailed description of the examples illustrated in theaccompanying drawings is not intended to be limiting of the invention.In the drawings, like numbers refer to like elements.

FIG. 1 is a schematic illustration of a touch-sensing apparatus 100comprising a touch surface 101 configured to receive touch input, and atouch sensor 102 configured to determine surface coordinates (x, y; x′,y′; x″, y″) of a touch input on the touch(v_(e)), surface 101. The touchsensor 102 comprises a processor 120 and/or communicates with aprocessor 120 and may detect the surface coordinates of touch inputbased on different techniques. E.g. the touch sensor 102 may comprisecapacitive sensor, such as for a projected touch screen, or an opticalsensor. In the latter case, the touch sensor 102 may be configured todetermine a surface coordinate (x, y) of a touch input, provided by anobject, such as a brush having a bundle of flexible bristles, in contactwith, or at least adjacent, the touch surface 101 from a position of anattenuation of light beams emitted along the touch surface 101. Aplurality of optical emitters and optical receivers (not shown) may bearranged around the periphery of the touch surface 101 to create a gridof intersecting light paths across the touch surface 101 (otherwiseknown as detection lines or scanlines). Each light path extends betweena respective emitter/receiver pair. An object 201 that touches the touchsurface 101 will block or attenuate some of these light paths. Based onthe identity of the receivers detecting a blocked light path, thelocation of the intercept between the blocked light paths can bedetermined. The position of touch input can thus be determined with highaccuracy. The optical emitters and receivers may be arranged so that thegrid of intersecting light paths extend above the touch surface 101. Thelight between the emitters and receivers may also propagate partlyinside a light transmissive panel having the touch surface 101, viatotal internal reflection (TIR). When an object touches the surface, itfrustrates the TIR thereby causing an attenuation of the light.

FIG. 1b is a schematic illustration of a brush 201 having a flexible tipbeing deformed to various degrees when pressed against the touch surface101. The size of the portion of the brush 201 contacting the touchsurface 101 increases with the force by which the brush 201 is pressedagainst the touch surface 101. This is discussed in more detail withreference to FIGS. 6a and 8. Due to its flexibility, the brush 201 willdeflect in various directions as the user moves it across the touchsurface 101. The brush 201 may have a bundle of thin flexible bristles,or any other flexible structure at its tip, such as a foam-like orrubber-like material, or any other material that advantageously providesfor a flexible or resilient contact with the touch surface 101. Thebrush 201 may be round and pointed, as typically used in brush drawingsor in calligraphy. It may also have other shapes such as oval or flat.The touch response of an object 201 having such properties can beaccurately modelled with touch-sensing apparatus 100 and method 300 asdescribed below.

The touch sensor 102 is configured to determine 301 a first set ofcoordinates (x, y) on the touch surface 101 of an object 201, such asthe above discussed brush 201, in contact with the touch surface 101.The touch-sensing apparatus 100, or associated processor 120, isconfigured to determine 302 a virtual brush angle (v_(b)) associatedwith the object 201. FIG. 2 is a schematic illustration showing a firstposition, at time ti, of object 201 on the touch surface 101, andassociated first coordinates (x, y) determined for the first position.The first coordinates (x, y) may be output to a display unit (not shown)which may overlay the touch surface 101 and be arranged underneath thesame. The display unit may hence be configured to display a virtualrepresentation of the object 201 at the determined first set ofcoordinates (x, y). FIG. 2 show such virtual representation of theobject 201 (in the figure vertically above the object 201 for a clearerpresentation). The touch-sensing apparatus 100 may be configured todetermine the shape, size, angle, and other associated properties of theobject 201 contacting the touch surface 101 based on the attenuationvalues of the above-mentioned grid of detection lines across the touchsurface 101.

The touch-sensing apparatus 100 is configured to determine 303 amovement of the object 201 to a second set of coordinates (x′, y′; x″,y″). FIG. 2 shows the object 201 at a second set of coordinates (x′, y′)at time t2. The touch-sensing apparatus 100 is configured to determine304 an updated virtual brush angle (v_(b)′, v_(b)″) for the object 201in dependence on a position of the second set of coordinates (x′, y′;x″, y″) relative to the first set of coordinates (x, y). Thus, as theobject 201 moves to (x′, y′) in FIG. 2, the previously determinedvirtual brush angle (v_(b)) at (x, y), is changed based on the locationof (x′, y′) relative (x, y), and the virtual representation of the brushat (x′, y′) is displayed with the updated virtual brush angle (v_(b)′).The touch-sensing apparatus 100 is thus configured to output 305 theupdated virtual brush angle (v_(b)′) and the second coordinates (x′,y′),and a display unit may be configured to display a virtual representationof the brush at (x′, y′) with the updated virtual brush angle (v_(b)′).The processor 120 may be configured to carry out the steps 301-305 asdescribed above. The processor 120 may be configured to communicate witha secondary, external or remote processing unit (not shown) configuredto perform calculations associated with steps 301-305 in response torespective control instructions of processor 120. The method 300described in relation to FIG. 9 may comprise carrying out steps 301-305with the processor 120, or alternatively with the mentioned external orremote processing unit.

In the example of FIG. 2, the brush 201 is aligned in a verticaldirection at (x, y), before being moved horizontally to the right to(x′, y′) in the figure. The direction of movement, represented by acurrent angle (v_(c)), is compared to the virtual brush angle (v_(b)) at(x, y). The virtual brush angle (v_(b)) may be variably adjusted independence of the current angle (v_(c)), in order to mimic the behaviorof a brush 201 on a traditional paper canvas. E.g. the friction betweena brush 201 and a paper canvas will typically result in a morepronounced deflection of the bristles of the brush 201 when the brush201 is moved in directions perpendicular to the direction in which thebristles extend, as the friction will act in a direction perpendicularto the flexible bristles. Movement of the brush 201 in directionssubstantially parallel to the direction in which the brush 201 extendswill typically result in less deflection as the frictional force actalong the direction of the bristles. It is thus possible to mimic thedynamic behavior of the brush 201 on a traditional canvas by determiningthe current angle (v_(c)), i.e. the position of the second set ofcoordinates (x′, y′) relative to the first set of coordinates (x, y), asthe object 201 moves from ti to t2 and modify the virtual brush angle(v_(b)) in dependence on the current angle (v_(c)). A more realisticmodelling of the brush 201 may thus be provided when used on a touchsurface 101. The friction between the touch surface 101 and a brush 201may thus be kept low, i.e. compared to using paint on a paper canvas,while still being able to recreate the effects of friction on the brush201 in the touch response. A traditional brush 201 may thus provideadvanced touch input where the directionality and brush dynamics isutilized in advanced artistic expressions, such as Chinese calligraphy.As the virtual brush angle (v_(b)) at ti and the current angle (v_(c))can be determined from sensor data, based on e.g. the attenuation of theintersecting light paths as discussed above, and the virtual brush angle(v_(b)) being updated based on (v_(c)), it is not necessary toincorporate complex detection methods of the actual directionality ofthe brush 201 as it moves along the touch surface 101. Hence, it is notnecessary to use e.g. an “active” brush with multiple sensors trackingthe dynamics of the brush. Even if the brush was tracked with suchsolution, it would not provide for a realistic modelling as describedabove due to the low friction between the brush and the touch surface101. The brush 201 used with the touch-sensing apparatus 100 may thus bea “passive” brush without sensors.

FIGS. 3a-b are further examples of how the updated virtual brush angle(v_(b)′) varies in dependence on the current angle (v_(c)). FIG. 3acorresponds to the example in FIG. 2, where the brush 201 moves tohorizontally the right, between (x,y) and (x′,y′), relative the virtualbrush angle (v_(b)) at (x,y), so that the updated virtual brush angle(v_(b)′) at (x′,y′) result in a counter-clockwise tilt of the virtualrepresentation of the brush 201. The brush 201 is moved horizontally tothe left in

FIG. 3b , relative (v_(b)), resulting in a clockwise tilt of the virtualrepresentation of the brush 201, to mimic the behavior of deflectingbristles of the brush 201 in the opposite direction due to surfacefriction.

FIGS. 4a -b are further examples of continued movement of the brush 201on the touch surface 101, and the resulting virtual deflection thereof.In FIG. 4a the brush moves from (x′,y′) to (x″,y″) with current angle(v_(c)) near perpendicular to virtual brush angle (v_(b)′) previouslydetermined at (x′,y′). The updated virtual brush angle (v_(b)″) at newposition *x′, y″) is determined based on the directionality of thecurrent angle (v_(c)). In this case, the updated virtual brush angle(v_(b)″) is determined so that the virtual representation of the brush201 is deflected further to the left at (x′, y″) relative (x′,y′). Thevirtual brush angle (v_(b)) may thus be continuously updated independence on the current angle (v_(c)) as the brush 201 moves acrossthe touch surface. In FIG. 4b the brush 201 continues to move to theright substantially horizontally from t₂ to t₃, as the brush moved fromti to t2 in FIG. 2. The deflection of the brush 201 is less than in FIG.4a and may also maintain the same virtual brush angle as in the positionat t₂. E.g. it is conceivable that when the brush 201 is moved along aconstant angle (v_(c)) that the frictional force can be momentaneousequal to the counter force provided by the flexible brush so that thedeflection and the virtual brush angle (v_(b)) is determined to beconstant.

The touch-sensing apparatus 100 may be configured to determine a brushdirection (d_(b), d_(b)′, d_(b)″) along which the object 201 extends onthe touch surface 201. As the object 201 moves to the second set ofcoordinates (x′,y′;x″,y″), the touch-sensing apparatus 100 may beconfigured to determine an associated direction of movement having acurrent angle (v_(c)) relative to the brush direction (d_(b), d_(b)′,d_(b)″). The brush direction (d_(b), d_(b)′, d_(b)″) has an associatedvirtual brush angle (v_(b), v_(b)′, v_(b)″), which in one examplecorrespond substantially to the brush direction (d_(b), d_(b)′, d_(b)″).However, as discussed above, the virtual brush angle (v_(b), v_(b)′,v_(b)″) can be continuously updated based on the directionality of thecurrent angle (v_(c)) so that the virtual representation of the brush201 mimics the deflection the brush 201 would have on traditional paper,rather than the actual deflection the brush 201 has on the touch surface102. Thus, the virtual brush angle (v_(b), v_(b)′, v_(b)″) may have amomentaneous angular off-set from the brush direction (d_(b), d_(b)′,d_(b)″). The touch-sensing apparatus 100 may be configured to determinethe updated virtual brush angle (v_(b)′, v_(b)″) of the object 201, asthe object 201 moves to the second set of coordinates (x′,y′; x″,y″), byadding an angle compensation value to the virtual brush angle (v_(b))associated with the brush direction (d_(b)), where the anglecompensation value is based on the current angle (v_(c)). Thus, thedirection of the current angle (v_(b)) relative to brush direction(d_(b)) may be taken into account for updating the virtual brush angle(v_(b)′, v_(b)″). The angle compensation value, controlling how much thevirtual brush angle is changed, is varied depending on the current angle(v_(c)), as discussed in more detail in relation to FIG. 5.

The touch-sensing apparatus 100 may be configured to determine thevirtual brush angle (v_(b)) as an entry angle (v_(e)) of a brushdirection (d_(b)) along which the object 201 extends on the touchsurface 101 at a first set of coordinates (x,y). For example, as thebrush 201 touches the touch surface 101 at (x,y), the brush direction(d_(b)) has an entry angle (v_(e)) on the touch surface 101 that can beregarded as the current virtual brush angle (v_(b)), which issubsequently updated as described above when the brush 201 moves to thesecond set of coordinates (x′,y′). As the current angle (v_(c)) has arelationship to the entry angle (v_(e)), the angle compensation valuemay be regarded as being based on at least the current angle (v_(c)),i.e. also being based on the entry angle (v_(e)).

The touch-sensing apparatus 100 may be configured to determine the entryangle (v_(e)) by determining a first shape (s₁) of a portion 204 of theobject 201 in contact with the touch surface 101, and determining asubsequent second shape (s₂, s₃, s₄) of a portion 204 of the object 201in contact with the touch surface 101, as the object 201 is pushedagainst the touch surface 101. FIG. 6a is a schematic illustrationshowing a gradual increase in the pressure by which the brush 201 ispressed against the touch surface 101 and the associated increase incross-section of the part 204 (see also FIG. 7b ) of the brush 201 incontact with the touch surface 101. The touch-sensing apparatus 100 maybe configured to determining respective center point coordinates (c₁,c₂, c₃, c₄) of the first (s₁) and second shapes (s₂, s₃, s₄), anddetermine the entry angle (v_(e)) based on the center point coordinates(c₁, c₂, c₃, c₄). Thus, as the shape or cross-section of part 204 of thebrush 201 in contact with the touch surface 101 changes with theincreased pressure, the entry angle (v_(e)) can be determined based onthe associated shift of respective center point coordinates (c₁, c₂, c₃,c₄).

The touch-sensing apparatus 100 may be configured to determine avelocity vector (vv) of the object 201 based on a registration time(t_(c1), t_(c2), t_(c3), t_(c4)) of the center point coordinates (c₁,c₂, c₃, c₄) and a distance (D_(c)) therebetween, as schematicallyillustrated in FIG. 6a . The entry angle (v_(e)) may then be determinedbased on the velocity vector (vv). The entry angle (v_(e)) may thus bedetermined in a facilitated manner. It is also conceivable that thebrush direction (d_(b), d_(b)′, d_(b)″) may be determined at any time bydetermining the shift in center point coordinates (c₁, c₂, c₃, c₄) asthe pressure of the brush 201 varies.

The touch-sensing apparatus 100 may be configured to determine the entryangle (v_(e)) of the object 201 upon a first contact thereof with thetouch surface 101 at the first set of coordinates (x,y), and determine avariation in the shape over time upon said first contact. FIG. 6b is aschematic illustration of an increasing pressure over time, at the firstcontact, which is proportional to the size of the portion 204 in contactwith the touch surface 101. The touch-sensing apparatus 100 may beconfigured to define a threshold value (s_(t)) of a size of the objectassociated with the shape at which time the entry angle (v_(e)) isdetermined. The threshold value of the size (s_(t)) has a correspondingpressure threshold (p_(t)). By taking into account such thresholds it ispossible to get a more reliable read of the velocity vector (v_(v)) andthe entry angle (v_(e)). An estimate of the pressure can be determinedfrom the varying size of the object, and it is not necessary todetermine a pressure value as such. For example, one method to estimatethe pressure by which an object 201 is being pressed against the touchsurface 101 is by detecting an increased object attenuation resultingfrom the object being pressed and deformed against the surface to covera larger portion of the touch surface. It is also conceivable that thetouch-sensing apparatus 100 may be configured to detect the pressure bywhich an object 201 is being pressed against the touch surface 101, andfrom the determined pressure values estimate the size of a portion ofthe object 201 in contact with the touch surface 101 at different times.

The touch-sensing apparatus 100 may be configured to add a definedmaximum value (a_(max)) of the angle compensation value to the entryangle (v_(e)) when the current angle (v_(c)) is determined as beingperpendicular to the entry angle (v_(e)). FIG. 5 show the directions ofan entry angle (v_(e)) of the brush 201 relative a current angle (v_(c))in which the brush 201 moves, and associated maximum and minimum anglecompensations values (a_(max), a_(min)) to update the virtual brushangle (v_(b)) of the brush 201.

Thus, the touch-sensing apparatus 100 may be configured to add a definedminimum value (a_(min)) of the angle compensation value to the entryangle (v_(e)) when the current angle (v_(c)) is determined as beingparallel to the entry angle (v_(e)). The angle compensation values mayvary in a range between the mentioned minimum and maximum values independence on the current angle (v_(c)) relative the entry angle(v_(e)). Although reference is made to the entry angle (v_(e)) in thisexample, it is conceivable, that the virtual brush angle (v_(b)) isupdated as described with the angle compensation value at any point intime as the brush 201 moves across the touch surface 101.

The touch-sensing apparatus 100 may be configured to maintain output ofthe updated virtual brush angle (v_(b)′) while the object 201 moves witha defined current angle (v_(c)) value on the touch surface 101. Forexample, as described in relation to FIG. 4b , if the object 201 moveswith a constant current angle (v_(c)), the output may also be a constantvirtual angle (v_(b)′), to mimic a situation where the sum of the forcesacting on a brush is in equilibrium, to e.g. produce a brush stroke ofsubstantially constant width. The touch-sensing apparatus 100 may alsobe configured to update the virtual brush angle (v_(b)) in dependence ofthe speed and acceleration of the object moving between (x,y) and(x′,y′). E.g. a slow movement may be modelled as providing lessdeflection of the brush 201 compared to a quick movement.

The touch-sensing apparatus 100 may be configured to continuouslycompensate the updated virtual brush angle (v_(b)′) by adding the anglecompensation value to the updated virtual brush angle (v_(b)′) based onvariations in the current angle value (v_(c)). Hence, as also describedin relation to FIG. 4a , the updated virtual brush angle (v_(b)′) may becontinuously adjusted in dependence on (v_(c)).

The touch-sensing apparatus 100 may be configured to determine width(w_(c)) and height (h_(c)) coordinates or dimensions of a portion 204 ofthe object 201 in contact with the touch surface 101 by defining widthand height limits (w_(t), h_(t)) for the object 201 for an upperreference pressure (p_(u)) of the object 201 being pushed against thetouch surface 101, where the width and height dimensions are thendetermined as fractions of the respective width and height limits(w_(t), h_(t)) in dependence on a current pressure (p_(c)). FIG. 8 showa gradual increase in the size of a virtual representation of a portion204 of the object 201 in contact with the touch surface 101 withincreased pressure. The maximum width (w_(t)) may be considered asproportional to the number and thickness of the bristles of a brush 201,and the maximum height (h_(t)) to be proportional to the length of thebrush 201. By determining the width and height coordinates (w_(c),h_(c)) as fractions of the respective width and height limits (w_(t),h_(t)) in dependence on a current pressure (p_(c)), it is possible tomodel a brush where the width and height expands with different rates,which is typically the case in some applications such as when using awet brush in Chinese calligraphy.

The touch-sensing apparatus 100 may be configured to determine the widthcoordinates (w_(l)) as being equal to the height coordinates (h_(l))below a defined lower reference pressure (p_(l)), to enable thin/lightstrokes. The model can be adjusted in dependence on the type of brush201 that is used.

The touch-sensing apparatus may be configured to model the object 201 asan elliptic-shaped brush 202, as schematically illustrated in FIG. 7awhere half the ellipse divided through its mass-center may be modelledas the bottom of the brush 201. This may facilitate optimizing the touchresponse so that e.g. brush strokes with sharp edges and corners may berealized.

The touch-sensing apparatus 100 may be configured to model an outline203 of a portion 204 of the object 201 in contact with the touch surface101 as a polygon (p) with spline smoothening. FIG. 7b show one exampleof a polygon (p) representing a portion 204 of the object 201 in contactwith the touch surface 101. The edges of the polygon (p) can be renderedsmoothly using a spline with the polygon points (p1-p6) used as controlpoints. This provides for further improving the modelling of the brush201 to achieve a realistic virtual representation.

The touch-sensing apparatus 100 may be configured to determine a shape(s_(p), s_(p)′) of the polygon of the portion 204 in contact with thetouch surface 101 for a series of subsequent frames of the object 201detected by the touch sensor 102. Thus, the polygon (p) may becontinuously updated to approximate the shape of the portion 204 incontact with the touch surface 101. FIG. 7c shows an example where thepolygon assumes to different shapes (s_(p), s_(p)′) at different pointsin time. Determining the shape of the polygon may comprise applying theupdated virtual brush angle (v_(p)′) to the outline 203. Thedirectionality of the polygon may hence be determined by aligning theoutline 203 in accordance with the virtual brush angle (v_(b)′) toprovide for an accurate modeling of the dynamic behavior of a brush 201on the touch surface 101. The touch-sensing apparatus 100 may beconfigured to combine a plurality of polygons determined for each frameas a brush stroke model polygon (p_(s)). FIG. 7c shows an example wherepolygons (s_(p), s_(p)′) together form a brush stroke polygon (p_(s)).

FIG. 9 illustrates a flow chart of a method of modelling touch output ofan object 201 in a touch sensing apparatus 100. The touch sensingapparatus 100 comprises a touch surface 101. The order in which thesteps of the method 300 are described and illustrated should not beconstrued as limiting and it is conceivable that the steps can beperformed in varying order. The method 300 comprises determining 301 afirst set of coordinates (x, y) on the touch surface 101 of the object201 in contact with the touch surface 101, determining 302 a virtualbrush angle (v_(b)) associated with the object 201, determining 303 amovement of the object 201 to a second set of coordinates (x′, y′; x″,y″), determining 304 an updated virtual brush angle (v_(b)′, v_(b)″) forthe object 201 in dependence on a position of the second set ofcoordinates (x′, y′; x″, y″) relative to the first set of coordinates(x,y), and outputting 305 the second set of coordinates (x′, y′; x″, y″)and the updated virtual brush angle (v_(b)′, v_(b)″). The method 300thus provides for the advantageous benefits as described above inrelation to the touch-sensing apparatus 100 and FIGS. 1-8.

A computer program product is also provided comprising instructionswhich, when the program is executed by a computer, cause the computer tocarry out the steps of the method 300 as described above.

The present invention has been described above with reference tospecific examples. However, other examples than the above described areequally possible within the scope of the invention. The differentfeatures and steps of the invention may be combined in othercombinations than those described. The scope of the invention is onlylimited by the appended patent claims.

More generally, those skilled in the art will readily appreciate thatall parameters, dimensions, materials, and configurations describedherein are meant to be exemplary and that the actual parameters,dimensions, materials, and/or configurations will depend upon thespecific application or applications for which the teachings of thepresent invention is/are used.

1. A touch sensing apparatus, comprising: a touch surface, and a touchsensor configured to determine a first set of coordinates on the touchsurface of an object in contact with the touch surface, the touchsensing apparatus being configured to: determine a virtual brush angleassociated with the object, determine a movement of the object to asecond set of coordinates, determine an updated virtual brush angle forthe object in dependence on a position of the second set of coordinatesrelative to the first set of coordinates, and output the second set ofcoordinates and the updated virtual brush angle.
 2. Touch sensingapparatus according to claim 1 , wherein the touch sensing apparatus isconfigured to determine a brush direction along which the object extendson the touch surface, and as the object moves to the second set ofcoordinates, determine an associated direction of movement having acurrent angle relative to the brush direction, and determine the updatedvirtual brush angle of the object, as the object moves to the second setof coordinates, by adding an angle compensation value to the virtualbrush angle associated with the brush direction, wherein the anglecompensation value is based at least on the current angle.
 3. Touchsensing apparatus according to claim 1, wherein the touch sensingapparatus is configured to determine the virtual brush angle as an entryangle of a brush direction along which the object extends on the touchsurface at a first set of coordinates.
 4. Touch sensing apparatusaccording to claim 3, wherein the touch sensing apparatus is configuredto determine the entry angle by; determining a first shape of a portionof the object in contact with the touch surface, determining asubsequent second shape of a portion of the object in contact with thetouch surface, as the object is pushed against the touch surface,determining respective center point coordinates of the first and secondshapes, and determining the entry angle based on the center pointcoordinates.
 5. Touch sensing apparatus according to claim 4, whereinthe touch sensing apparatus is configured to determine a velocity vectorof the object based on a registration time of the center pointcoordinates and a distance therebetween, and determine the entry anglebased on the velocity vector.
 6. Touch sensing apparatus according toclaim 4, wherein the touch sensing apparatus is configured to determinethe entry angle of the object upon a first contact thereof with thetouch surface at the first set of coordinates, determine a variation inthe shape over time upon said first contact, define a threshold value ofa size of the object associated with the shape at which time the entryangle is determined.
 7. Touch sensing apparatus according to any ofclaims 3, wherein the touch sensing apparatus is configured to add adefined maximum value of the angle compensation value to the entry anglewhen the current angle is determined as being perpendicular to the entryangle.
 8. Touch sensing apparatus according to any of claims 3, whereinthe touch sensing apparatus is configured to add a defined minimum valueof the angle compensation value to the entry angle when the currentangle is determined as being parallel to the entry angle.
 9. Touchsensing apparatus according to any of claims 2, wherein the touchsensing apparatus is configured to maintain output of the updatedvirtual brush angle while the object moves with a defined current anglevalue on the touch surface.
 10. Touch sensing apparatus according to anyof claims 2, werein the touch sensing apparatus is configured tocontinuously compensate the updated virtual brush angle by adding theangle compensation value to the updated virtual brush angle based onvariations in the current angle value.
 11. Touch sensing apparatusaccording to any of claims 1, wherein the touch sensing apparatus isconfigured to determine width and height coordinates of a portion of theobject in contact with the touch surface by defining width and heightlimits for the object for an upper reference pressure of the objectpushed against the touch surface, whereby the width and heightcoordinates are determined as fractions of the respective width andheight limits in dependence on a current pressure.
 12. Touch sensingapparatus according to claim 11, wherein the touch sensing apparatus isconfigured to determine the width coordinates as being equal to theheight coordinates below a defined lower reference pressure.
 13. Touchsensing apparatus according to any of claims 1, wherein the touchsensing apparatus is configured to model the object as anelliptic-shaped brush.
 14. Touch sensing apparatus according to claim 1,wherein the touch sensing apparatus is configured to model an outline ofa portion of the object in contact with the touch surface as a polygonwith spline smoothening.
 15. Touch sensing apparatus according to claim14, wherein the touch sensing apparatus is configured to determine ashape of the polygon of the portion in contact with the touch surfacefor a series of subsequent frames of the object detected by the touchsensor.
 16. Touch sensing apparatus according to claim 15, whereindetermining the shape of the polygon comprises applying the updatedvirtual brush angle to the outline.
 17. Touch sensing apparatusaccording to claim 15, wherein the touch sensing apparatus is configuredto combine a plurality of polygons determined for each frame as a brushstroke model polygon.
 18. Method of modelling touch output of an objectin a touch sensing apparatus comprising a touch surface, the methodcomprising; determining a first set of coordinates on the touch surfaceof the object in contact with the touch surface, determining a virtualbrush angle associated with the object, determining a movement of theobject to a second set of coordinates, determining an updated virtualbrush angle for the object in dependence on a position of the second setof coordinates relative to the first set of coordinates, and outputtingthe second set of coordinates and the updated virtual brush angle.
 19. Acomputer program product comprising instructions which, when the programis executed by a computer, cause the computer to carry out the steps ofthe method according to claim 18.